package br.com.cqipac.to;

// Generated 03/04/2008 23:45:13 by Hibernate Tools 3.2.1.GA

import java.util.Date;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * SetorFuncionario generated by hbm2java
 */
@Entity
@Table(name = "tb_setor_funcionario", catalog = "db_cq_ipac")
public class SetorFuncionario implements java.io.Serializable {

	private SetorFuncionarioId id;
	private Setor setor;
	private Funcionario funcionarioByCodFuncionarioInclusao;
	private Funcionario funcionarioByCodFuncionario;
	private Date dtInclusao;
	private boolean stsResposta;
	private boolean stsSetorFuncionario;

	public SetorFuncionario() {
	}

	public SetorFuncionario(SetorFuncionarioId id, Setor setor,
			Funcionario funcionarioByCodFuncionarioInclusao,
			Funcionario funcionarioByCodFuncionario, Date dtInclusao,
			boolean stsResposta) {
		this.id = id;
		this.setor = setor;
		this.funcionarioByCodFuncionarioInclusao = funcionarioByCodFuncionarioInclusao;
		this.funcionarioByCodFuncionario = funcionarioByCodFuncionario;
		this.dtInclusao = dtInclusao;
		this.stsResposta = stsResposta;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "codSetor", column = @Column(name = "cod_setor", nullable = false)),
			@AttributeOverride(name = "codFuncionario", column = @Column(name = "cod_funcionario", nullable = false)) })
	public SetorFuncionarioId getId() {
		return this.id;
	}

	public void setId(SetorFuncionarioId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.EAGER)//.LAZY)
	@JoinColumn(name = "cod_setor", nullable = false, insertable = false, updatable = false)
	public Setor getSetor() {
		return this.setor;
	}

	public void setSetor(Setor setor) {
		this.setor = setor;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "cod_funcionario_inclusao", nullable = false)
	public Funcionario getFuncionarioByCodFuncionarioInclusao() {
		return this.funcionarioByCodFuncionarioInclusao;
	}

	public void setFuncionarioByCodFuncionarioInclusao(
			Funcionario funcionarioByCodFuncionarioInclusao) {
		this.funcionarioByCodFuncionarioInclusao = funcionarioByCodFuncionarioInclusao;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "cod_funcionario", nullable = false, insertable = false, updatable = false)
	public Funcionario getFuncionarioByCodFuncionario() {
		return this.funcionarioByCodFuncionario;
	}

	public void setFuncionarioByCodFuncionario(
			Funcionario funcionarioByCodFuncionario) {
		this.funcionarioByCodFuncionario = funcionarioByCodFuncionario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "dt_inclusao", nullable = false, length = 19)
	public Date getDtInclusao() {
		return this.dtInclusao;
	}

	public void setDtInclusao(Date dtInclusao) {
		this.dtInclusao = dtInclusao;
	}

	@Column(name = "sts_resposta", nullable = false)
	public boolean isStsResposta() {
		return this.stsResposta;
	}

	public void setStsResposta(boolean stsResposta) {
		this.stsResposta = stsResposta;
	}
	
	@Column(name = "sts_setor_funcionario", nullable = false)
	public boolean isStsSetorFuncionario() {
		return this.stsSetorFuncionario;
	}

	public void setStsSetorFuncionario(boolean stsSetorFuncionario) {
		this.stsSetorFuncionario = stsSetorFuncionario;
	}

}
